The performance of a hard disk drive (HDD) is degraded when mechanical tilt exists between the actuator head stack and the disk stack. Such tilting can be caused by a number of factors, including HDD case warping, etc. The performance degradation arises because the mechanical tilt requires additional physical motion of the actuator when a head-switch occurs. This physical motion of the actuator to position the target head on the target track takes a finite amount of time prior to being able to successfully read/write data. As recognized herein, if this additional seek-time due to tilt is not accounted for by the system, the result can be that the target data sector is missed, which then requires a full revolution of the disk to retry the read/write operation. The present invention understands that the extra time required to move the actuator to adjust for the mechanical tilt, and the increased opportunity for missing a revolution because of not accounting for this extra time, results in reduced performance of the disk drive.
As further recognized by the present invention, without foreknowledge of the magnitude of mechanical tilt between the current and target heads, the servo must wait until electrical connection is made on the target head and a valid PES value is “seen” on the disk so that the correct seek (both direction and length) can be made. Thus, the tilt problem precludes the servo from being able to “move early” before the electrical connection is made to the target head. The delay between an “early move” and waiting until electrical connection is made also costs valuable time which degrades I/O performance.
In addition to the above considerations, the present invention, in recognizing that a Rotational Position Optimization (RPO) algorithm can be used to reorder the commands in a HDD controller queue for optimized execution, further recognizes that to make optimal choices for command ordering, the RPO algorithm must be able to accurately estimate the time required to execute each command, and this estimation depends on the seek-length that must be covered in moving the actuator to get the correct place for the next command. If the seek lengths which are used are based on “logical” seek lengths, meaning that the seek length is calculated by determining the target track (based on format calculations) and subtracting the current track, with no correction for any seek length modifications due to mechanical tilt, the estimates will be erroneous. As understood herein, by failing to account for the true “physical” seek length (which is based on the logical seek length plus correction for tilt), incorrect information may be selected from tables that are used to make seek time estimates, or incorrect information will be input to functions that are used to make seek time estimates. Under these conditions, the RPO algorithm's command ordering will not be optimum. The problem is further exacerbated by the fact that the “learning” process for any adaptive RPO algorithm is degraded by inaccurate knowledge of the true physical seek length. The result can be inaccurate sorting of the command queue which ultimately leads to even further degraded I/O performance.